In documentation in chapter '6.1.6 User-Defined Functions' there is
FLOAT_BUILT-IN_IDENT as one of possible expressions. But only 'clock' and 'pi'
is recognized while chapter '6.1.3.4 Built-in Float Identifiers' lists much
more possible values. In order to fix it I have added following part in
expr_get_token function in long list of ifs.
#ifdef MISSED_FLOAT_CONSTANTS_RECOGNITION_PATCH
else if(Token.Function_Id == CLOCK_DELTA_TOKEN)
{
Token.Token_Float = Clock_Delta;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == CLOCK_ON_TOKEN)
{
Token.Token_Float = (DBL) ( opts.FrameSeq.FrameType == FT_MULTIPLE_FRAME );
return FLOAT_TOKEN;
}
else if(Token.Function_Id == FALSE_TOKEN)
{
Token.Token_Float = 0.0;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == FINALCLOCK_TOKEN)
{
Token.Token_Float = opts.FrameSeq.FinalClock;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == FINALFRAME_TOKEN)
{
Token.Token_Float = opts.FrameSeq.FinalFrame;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == FRAMENUMBER_TOKEN)
{
Token.Token_Float = opts.FrameSeq.FrameNumber;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == INITIALCLOCK_TOKEN)
{
Token.Token_Float = opts.FrameSeq.InitialClock;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == INITIALFRAME_TOKEN)
{
Token.Token_Float = opts.FrameSeq.InitialFrame;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == IMAGE_WIDTH_TOKEN)
{
Token.Token_Float = Frame.Screen_Width;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == IMAGE_HEIGHT_TOKEN)
{
Token.Token_Float = Frame.Screen_Height;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == NO_TOKEN)
{
Token.Token_Float = 0.0;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == OFF_TOKEN)
{
Token.Token_Float = 0.0;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == ON_TOKEN)
{
Token.Token_Float = 1.0;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == TRUE_TOKEN)
{
Token.Token_Float = 1.0;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == VERSION_TOKEN)
{
Token.Token_Float = opts.Language_Version / 100.0;
return FLOAT_TOKEN;
}
else if(Token.Function_Id == YES_TOKEN)
{
Token.Token_Float = 1.0;
return FLOAT_TOKEN;
}
#endif
ABX
Post a reply to this message
|